/*
 * Copyright (C) 2011 Macambira Team
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
package com.googlecode.register;

/**
 * Fachada - contém instancias de todas as classes do pacote Register
 *
 * @version 0.2 05 Out 2011
 * @author Italo Cesar | italo.fernandes@dce.ufpb.br
 */
public class Facade {
    
    private static Facade facade;
    private ControlProfessor cProfessor;
    private ControlCurso cCurso;
    private ControlDisciplina cDisciplina;
    private ControlDepartamento cDepartamento;
    private ControlTurma cTurma;
    private Professor professor;
    private Curso curso;
    private Departamento departamento;
    private Disciplina disciplina;
    private Turma turma;
    
    public Facade(){
        this.cProfessor = new ControlProfessor();
        this.cCurso = new ControlCurso();
        this.cDisciplina = new ControlDisciplina();
        this.cDepartamento = new ControlDepartamento();
        this.cTurma = new ControlTurma();
        this.curso = new Curso();
        this.professor = new Professor();
        this.departamento = new Departamento();
        this.disciplina = new Disciplina();
        this.turma = new Turma();
    }
 
    public static Facade getInstance() {
		if( facade == null ){
			facade = new Facade(); 
		}
		return facade;
	}

    public ControlCurso getcCurso() {
        return cCurso;
    }

    public void setcCurso(ControlCurso cCurso) {
        this.cCurso = cCurso;
    }

    public ControlDepartamento getcDepartamento() {
        return cDepartamento;
    }

    public void setcDepartamento(ControlDepartamento cDepartamento) {
        this.cDepartamento = cDepartamento;
    }

    public ControlDisciplina getcDisciplina() {
        return cDisciplina;
    }

    public void setcDisciplina(ControlDisciplina cDisciplina) {
        this.cDisciplina = cDisciplina;
    }

    public ControlProfessor getcProfessor() {
        return cProfessor;
    }

    public void setcProfessor(ControlProfessor cProfessor) {
        this.cProfessor = cProfessor;
    }

    public ControlTurma getcTurma() {
        return cTurma;
    }

    public void setcTurma(ControlTurma cTurma) {
        this.cTurma = cTurma;
    }

    public Curso getCurso() {
        return curso;
    }

    public void setCurso(Curso curso) {
        this.curso = curso;
    }

    public Departamento getDepartamento() {
        return departamento;
    }

    public void setDepartamento(Departamento departamento) {
        this.departamento = departamento;
    }

    public Disciplina getDisciplina() {
        return disciplina;
    }

    public void setDisciplina(Disciplina disciplina) {
        this.disciplina = disciplina;
    }

    public static Facade getFacade() {
        return facade;
    }

    public static void setFacade(Facade facade) {
        Facade.facade = facade;
    }

    public Professor getProfessor() {
        return professor;
    }

    public void setProfessor(Professor professor) {
        this.professor = professor;
    }

    public Turma getTurma() {
        return turma;
    }

    public void setTurma(Turma turma) {
        this.turma = turma;
    }
    
    
    
}
